package com.buaa.service;

import java.util.List;
import java.util.Map;

/**
 * Title: 机构Service接口 <br/>
 * Description: <br/>
 * Company: BUAA
 *
 * @author 伟宏
 * @date 2017年1月15日
 * @modify 2017年04月30日
 */
public interface InstitutionService {

	/**
	 * 统计信息服务-统计数据
	 * 
	 * @param loctype
	 * @return
	 */
	public String sumInfo(String loctype);

	/**
	 * 统计信息服务 - 获取柱状图数据
	 * 
	 * @param quyu
	 * @param loctype
	 * @param zhibiao
	 * @return
	 */
	public Map<String, Long> getCount(String quyu, String loctype, String zhibiao);

	/**
	 * 内容搜索服务 - 获取所有机构类型
	 * 
	 * @return
	 */
	public List<Object> findAllType();

	/**
	 * 内容搜索服务 - 判断是否加盟
	 * 
	 * @return
	 */
	public List<Object> findAllKind();

	/**
	 * 内容搜索服务 - 获取所有技术领域（父）
	 * 
	 * @return
	 */
	public List<Object> findAllTech();

	/**
	 * 内容搜索服务
	 * 
	 * @param loctype
	 *            级别
	 * @param yqmc
	 *            机构名称
	 * @param ssdw
	 *            所属单位
	 * @param yqmccxfs
	 *            机构名称查询方式
	 * @param dwjm
	 *            机构是否加盟
	 * @param dwjsly
	 *            机构技术领域
	 * @return
	 */
	public String contentSearch(String loctype, String dwmc, String dwlx, String dwmccxfs, String dwjm, String dwjsly);

	public String contentSearch2(String loctype, String dwmc, String dwlx, String dwmccxfs, String dwjm, String dwjsly);

	/**
	 * 获取alllist信息
	 * 
	 * @param loctype
	 * @return
	 */
	public List<Object[]> getAllList(String loctype);

	/**
	 * 获取countlist信息
	 * 
	 * @param quyu
	 * @param loctype
	 * @param zhibiao
	 * @return
	 */
	public List<Object> getCountList(String quyu, String loctype, String zhibiao);

	/**
	 * 获取detail信息
	 * 
	 * @param quyu
	 * @return
	 */
	public List<Object[]> getDetail(String quyu);

	/**
	 * 获取cx表1信息
	 * 
	 * @param dwsx
	 * @param dwmc
	 * @param dwmccxfs
	 * @param dwjm
	 * @param dwjsly
	 * @param quyu
	 *            地点
	 * @param loctype
	 * @return
	 */
	public List<Object[]> getCxTable1Info(String dwlx, String dwmc, String dwmccxfs, String dwjm, String dwjsly, String quyu, String loctype);

	public List<Object[]> getCxTable1Info2(String dwlx, String dwmc, String dwmccxfs, String dwjm, String dwjsly, String quyu, String loctype);

	/**
	 * 获取表1信息
	 * 
	 * @param zhibiao
	 * @param zhibiaomc
	 * @param quyu
	 * @param loctype
	 * @param page
	 * @return
	 */
	public List<Object> getTable1Info(String zhibiao, String zhibiaomc, String quyu, String loctype, String page);

	/**
	 * 获取表2信息
	 * 
	 * @param id
	 * @return
	 */
	public List<Object[]> getTable2Info(String id);
	
	public Map<String, Object>  getInstitutionDetail(String id);
	
	public Map<String, Object> getInstitutionByResource(String id,String resource);
	

	/**
	 * 获取比较信息
	 * 
	 * @param totalid
	 * @return
	 */
	public String[][] getCp(String totalid);

	/**
	 * 指数分析-获取机构指标数量
	 * 
	 * @param zhibiao
	 * @return
	 */
	public String getSum(String zhibiao);

	/**
	 * 指数分析-获取机构分布详细
	 * 
	 * @return
	 */
	public List<Object[]> getFb();

	/**
	 * 指数分析-获取仪器分布概要
	 * 
	 * @return
	 */
	public List<Map<String, Object>> getFb2();

	/**
	 * 统计信息服务 - 获取Echarts各个区县的机构数目
	 * 
	 * @return
	 */
	public String getCitySum();
}
